#pragma once

#include "Ray.h"
#include "Material.h"

namespace rt
{
	struct IntersectionInfo
	{
		IntersectionInfo(Vec3 normal, Material * material)
			: Normal(normal), Mtrl(material) {}
		Vec3 Normal;
		Material * Mtrl;
	};

	class Object
	{
	public:
		Object(){ }
		virtual ~Object(){};
		virtual IntersectionInfo GetIntersectionInfo(const Vec3 & point) = 0;
		//virtual float Intersect(const Ray & ray) = 0;

		 __declspec(align(16)) Material _material;
	};
}
